





<!DOCTYPE html>
<html class="writer-html5" lang="zh-CN" >
<head>
  <meta charset="utf-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>Vulkan Runtime &mdash; tvm 0.8.dev1982 文档</title>
  

  
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
  <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
  <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../../_static/gallery.css" type="text/css" />
  <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
  <link rel="stylesheet" href="../../_static/css/tlcpack_theme.css" type="text/css" />

  
  
    <link rel="shortcut icon" href="../../_static/tvm-logo-square.png"/>
  

  
  
  
  
    
      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
        <script src="../../_static/jquery.js"></script>
        <script src="../../_static/underscore.js"></script>
        <script src="../../_static/doctools.js"></script>
        <script src="../../_static/translations.js"></script>
    
    <script type="text/javascript" src="../../_static/js/theme.js"></script>

    
    <script type="text/javascript" src="../../_static/js/tlcpack_theme.js"></script>
    <link rel="index" title="索引" href="../../genindex.html" />
    <link rel="search" title="搜索" href="../../search.html" />
    <link rel="next" title="Debugger" href="../debugger.html" />
    <link rel="prev" title="TVM runtime系统" href="../runtime.html" /> 
</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    
<header class="header">
    <div class="innercontainer">
      <div class="headerInner d-flex justify-content-between align-items-center">
          <div class="headerLogo">
               <a href="https://tvm.apache.org/"><img src=https://tvm.apache.org/assets/images/logo.svg alt="logo"></a>
          </div>

          <div id="headMenu" class="headerNav">
            <button type="button" id="closeHeadMenu" class="navCloseBtn"><img src="../../_static/img/close-icon.svg" alt="Close"></button>
             <ul class="nav">
                <li class="nav-item">
                   <a class="nav-link" href=https://tvm.apache.org/community>Community</a>
                </li>
                <li class="nav-item">
                   <a class="nav-link" href=https://tvm.apache.org/download>Download</a>
                </li>
                <li class="nav-item">
                   <a class="nav-link" href=https://tvm.apache.org/vta>VTA</a>
                </li>
                <li class="nav-item">
                   <a class="nav-link" href=https://tvm.apache.org/blog>Blog</a>
                </li>
                <li class="nav-item">
                   <a class="nav-link" href=https://tvm.apache.org/docs>Docs</a>
                </li>
                <li class="nav-item">
                   <a class="nav-link" href=https://tvmconf.org>Conference</a>
                </li>
                <li class="nav-item">
                   <a class="nav-link" href=https://github.com/apache/tvm/>Github</a>
                </li>
                <li class="nav-item">
                   <a class="nav-link" href=https://tvmchinese.github.io/declaration_zh_CN.html>About-Translators</a>
                </li>
             </ul>
               <div class="responsivetlcdropdown">
                 <button type="button" class="btn-link">
                   ASF
                 </button>
                 <ul>
                     <li>
                       <a href=https://apache.org/>Apache Homepage</a>
                     </li>
                     <li>
                       <a href=https://www.apache.org/licenses/>License</a>
                     </li>
                     <li>
                       <a href=https://www.apache.org/foundation/sponsorship.html>Sponsorship</a>
                     </li>
                     <li>
                       <a href=https://www.apache.org/security/>Security</a>
                     </li>
                     <li>
                       <a href=https://www.apache.org/foundation/thanks.html>Thanks</a>
                     </li>
                     <li>
                       <a href=https://www.apache.org/events/current-event>Events</a>
                     </li>
                     <li>
                       <a href=https://www.zhihu.com/column/c_1429578595417563136>Zhihu</a>
                     </li>
                 </ul>
               </div>
          </div>
            <div class="responsiveMenuIcon">
              <button type="button" id="menuBtn" class="btn-menu"><img src="../../_static/img/menu-icon.svg" alt="Menu Icon"></button>
            </div>

            <div class="tlcDropdown">
              <div class="dropdown">
                <button type="button" class="btn-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                  ASF
                </button>
                <div class="dropdown-menu dropdown-menu-right">
                  <ul>
                     <li>
                       <a href=https://apache.org/>Apache Homepage</a>
                     </li>
                     <li>
                       <a href=https://www.apache.org/licenses/>License</a>
                     </li>
                     <li>
                       <a href=https://www.apache.org/foundation/sponsorship.html>Sponsorship</a>
                     </li>
                     <li>
                       <a href=https://www.apache.org/security/>Security</a>
                     </li>
                     <li>
                       <a href=https://www.apache.org/foundation/thanks.html>Thanks</a>
                     </li>
                     <li>
                       <a href=https://www.apache.org/events/current-event>Events</a>
                     </li>
                     <li>
                       <a href=https://www.zhihu.com/column/c_1429578595417563136>Zhihu</a>
                     </li>
                  </ul>
                </div>
              </div>
          </div>
       </div>
    </div>
 </header>
 
    <nav data-toggle="wy-nav-shift" class="wy-nav-side fixed">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          

          
            <a href="../../index.html">
          

          
            
            <img src="../../_static/tvm-logo-small.png" class="logo" alt="Logo"/>
          
          </a>

          
            
            
                <div class="version">
                  0.8.dev1982
                </div>
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        
        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <p class="caption" role="heading"><span class="caption-text">如何开始</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../install/index.html">安装 TVM</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../contribute/index.html">贡献者指南</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">用户引导</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">User Tutorial</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../how_to/index.html">How To Guides</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">开发者引导</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../dev/tutorial/index.html">Developer Tutorial</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../dev/how_to/how_to.html">开发者指南</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">架构指南</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Design and Architecture</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../index.html#example-compilation-flow">编译流程示例</a></li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#logical-architecture-components">逻辑架构组件</a></li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#tvm-support">tvm/support</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../index.html#tvm-runtime">tvm/runtime</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="../runtime.html">TVM runtime系统</a></li>
<li class="toctree-l3 current"><a class="reference internal" href="../runtime.html#runtime-specific-information">Runtime-Specific Information</a><ul class="current">
<li class="toctree-l4 current"><a class="current reference internal" href="#">Vulkan Runtime</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../debugger.html">Debugger</a></li>
<li class="toctree-l3"><a class="reference internal" href="../virtual_machine.html">Putting the VM in TVM: The Relay Virtual Machine</a></li>
<li class="toctree-l3"><a class="reference internal" href="../introduction_to_module_serialization.html">Introduction to Module Serialization</a></li>
<li class="toctree-l3"><a class="reference internal" href="../device_target_interactions.html">Device/Target Interactions</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#tvm-node">tvm/node</a></li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#tvm-ir">tvm/ir</a></li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#tvm-target">tvm/target</a></li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#tvm-tir">tvm/tir</a></li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#tvm-arith">tvm/arith</a></li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#tvm-te">tvm/te</a></li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#tvm-topi">tvm/topi</a></li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#tvm-relay">tvm/relay</a></li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#tvm-autotvm">tvm/autotvm</a></li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#frontends">Frontends</a></li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#security">安全</a></li>
<li class="toctree-l2"><a class="reference internal" href="../index.html#microtvm">microTVM</a></li>
</ul>
</li>
</ul>
<p class="caption" role="heading"><span class="caption-text">主题引导</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../topic/microtvm/index.html">microTVM：裸机使用TVM</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../topic/vta/index.html">VTA: Versatile Tensor Accelerator</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">参考指南</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../reference/langref/index.html">语言参考</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../reference/api/python/index.html">Python API</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../reference/api/links.html">Other APIs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../reference/publications.html">Publications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../genindex.html">索引</a></li>
</ul>

            
          
        </div>
        
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
      
      <nav class="wy-nav-top" aria-label="top navigation" data-toggle="wy-nav-top">
        
            <div class="togglemenu">

            </div>
            <div class="nav-content">
              <!-- tvm -->
              Table of content
            </div>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        

          




















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="../../index.html">Docs</a> <span class="br-arrow">></span></li>
        
          <li><a href="../index.html">Design and Architecture</a> <span class="br-arrow">></span></li>
        
          <li><a href="../runtime.html">TVM runtime系统</a> <span class="br-arrow">></span></li>
        
      <li>Vulkan Runtime</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
            <a href="../../_sources/arch/runtimes/vulkan.rst.txt" rel="nofollow"> <img src="../../_static//img/source.svg" alt="viewsource"/></a>
          
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <div class="section" id="vulkan-runtime">
<span id="tvm-runtime-vulkan"></span><h1>Vulkan Runtime<a class="headerlink" href="#vulkan-runtime" title="永久链接至标题">¶</a></h1>
<p>TVM supports using Vulkan compute shaders to execute queries.  Each
computational kernel is compiled into a SPIR-V shader, which can then
be called using the TVM interface.</p>
<div class="section" id="vulkan-features-limits">
<span id="tvm-runtime-vulkan-features"></span><h2>Vulkan Features, Limits<a class="headerlink" href="#vulkan-features-limits" title="永久链接至标题">¶</a></h2>
<p>Since different Vulkan implementations may enable different optional
features or have different physical limits, the code generation must
know which features are available to use.  These correspond to
specific Vulkan capabilities/limits as in
<a class="reference internal" href="#tvm-table-vulkan-capabilities"><span class="std std-ref">Vulkan Capabilities Table</span></a>.
If unspecified, TVM assumes that a capability is not available, or
that a limit is the minimum guaranteed by the Vulkan spec in the
<a class="reference external" href="https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-minmax">Required Limits</a> section.</p>
<p>These parameters can be either explicitly specific when defining a
<a class="reference internal" href="../device_target_interactions.html#tvm-target-specific-target"><span class="std std-ref">Target</span></a>, or can be queried from a
device.  To query from a device, the special parameter
<code class="docutils literal notranslate"><span class="pre">-from_device=N</span></code> can be used to query all vulkan device parameters
from device id <code class="docutils literal notranslate"><span class="pre">N</span></code>.  Any additional parameters explicitly specified
will override the parameters queried from the device.</p>
<table class="docutils align-default" id="tvm-runtime-table-vulkan-capabilities">
<caption><span class="caption-text">Vulkan Capabilities</span><a class="headerlink" href="#tvm-runtime-table-vulkan-capabilities" title="永久链接至表格">¶</a></caption>
<colgroup>
<col style="width: 25%" />
<col style="width: 25%" />
<col style="width: 25%" />
<col style="width: 25%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Target Parameter</p></th>
<th class="head"><p>Required Vulkan Version/Extension</p></th>
<th class="head"><p>Parameter Queried</p></th>
<th class="head"><p>Default Value</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">supported_subgroup_operations</span></code></p></td>
<td><p>Vulkan 1.1+</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">VkPhysicalDeviceSubgroupProperties::supportedOperations</span></code></p></td>
<td><p>0 (interpreted as <a class="reference external" href="https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSubgroupFeatureFlagBits.html">VkSubgroupFeatureFlagBits</a>)</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">max_push_constants_size</span></code></p></td>
<td></td>
<td><p><code class="docutils literal notranslate"><span class="pre">VkPhysicalDeviceLimits::maxPushConstantsSize</span></code></p></td>
<td><p>128 bytes</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">max_uniform_buffer_range</span></code></p></td>
<td></td>
<td><p><code class="docutils literal notranslate"><span class="pre">VkPhysicalDeviceLimits::maxUniformBufferRange</span></code></p></td>
<td><p>16384 bytes</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">max_storage_buffer_range</span></code></p></td>
<td></td>
<td><p><code class="docutils literal notranslate"><span class="pre">VkPhysicalDeviceLimits::maxStorageBufferRange</span></code></p></td>
<td><p>2<sup>27</sup>bytes</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">max_per_stage_descriptor_storage_buffer</span></code></p></td>
<td></td>
<td><p><code class="docutils literal notranslate"><span class="pre">VkPhysicalDeviceLimits::maxPerStageDescriptorStorageBuffers</span></code></p></td>
<td><p>4</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">supports_storage_buffer_storage_class</span></code></p></td>
<td><p>VK_KHR_storage_buffer_storage_class</p></td>
<td></td>
<td><p>false</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">supports_storage_buffer_8bit_access</span></code></p></td>
<td><p>VK_KHR_8bit_storage</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">VkPhysicalDevice8BitStorageFeaturesKHR::storageBuffer8BitAccess</span></code></p></td>
<td><p>false</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">supports_storage_buffer_16bit_access</span></code></p></td>
<td><p>VK_KHR_16bit_storage</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">VkPhysicalDevice16BitStorageFeaturesKHR::storageBuffer16BitAccess</span></code></p></td>
<td><p>false</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">supports_float16</span></code></p></td>
<td><p>VK_KHR_shader_float16_int8</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::shaderFloat16</span></code></p></td>
<td><p>false</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">supports_float64</span></code></p></td>
<td></td>
<td><p><code class="docutils literal notranslate"><span class="pre">VkPhysicalDeviceFeatures::shaderFloat64</span></code></p></td>
<td><p>false</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">supports_int8</span></code></p></td>
<td><p>VK_KHR_shader_float16_int8</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">VkPhysicalDeviceShaderFloat16Int8FeaturesKHR::shaderInt8</span></code></p></td>
<td><p>false</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">supports_int16</span></code></p></td>
<td></td>
<td><p><code class="docutils literal notranslate"><span class="pre">VkPhysicalDeviceFeatures::shaderInt16</span></code></p></td>
<td><p>false</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">supports_int64</span></code></p></td>
<td></td>
<td><p><code class="docutils literal notranslate"><span class="pre">VkPhysicalDeviceFeatures::shaderInt64</span></code></p></td>
<td><p>false</p></td>
</tr>
</tbody>
</table>
<p>As of May 2021, not all Vulkan implementations are supported.  For
example, support for 64-bit integers is required.  If a Vulkan target
is not supported, an error message should be issued during SPIR-V code
generation.  Efforts are also underway to remove these requirements
and support additional Vulkan implementations.</p>
</div>
<div class="section" id="spir-v-capabilities">
<span id="tvm-runtime-vulkan-spirv-capabilities"></span><h2>SPIR-V Capabilities<a class="headerlink" href="#spir-v-capabilities" title="永久链接至标题">¶</a></h2>
<p>Some of the device-specific capabilities also correspond to SPIR-V
capabilities or extensions that must be declared in the shader, or a
minimum SPIR-V version required in order to use a feature.  The
TVM-generated shaders will declare the minimum set of
extensions/capabilities and the minimum allowed version of SPIR-V
that are needed to execute the compiled graph.</p>
<p>If the shader generation requires a capability or extension that is
not enabled in the <code class="docutils literal notranslate"><span class="pre">Target</span></code>, an exception will be raised.</p>
<table class="docutils align-default" id="tvm-table-vulkan-capabilities">
<caption><span class="caption-text">Vulkan Capabilities</span><a class="headerlink" href="#tvm-table-vulkan-capabilities" title="永久链接至表格">¶</a></caption>
<colgroup>
<col style="width: 33%" />
<col style="width: 33%" />
<col style="width: 33%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Target Parameter</p></th>
<th class="head"><p>Required SPIR-V Version/Extension</p></th>
<th class="head"><p>Declared Capability</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">supported_subgroup_operations</span></code></p></td>
<td><p>SPIR-V 1.3+</p></td>
<td><p>Varies, see <a class="reference external" href="https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSubgroupFeatureFlagBits.html">VkSubgroupFeatureFlagBits</a></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">supports_storage_buffer_storage_class</span></code></p></td>
<td><p>SPV_KHR_storage_buffer_storage_class</p></td>
<td></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">supports_storage_buffer_8bit_access</span></code></p></td>
<td><p>SPV_KHR_8bit_storage</p></td>
<td><p>StorageBuffer8BitAccess</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">supports_storage_buffer_16bit_access</span></code></p></td>
<td><p>SPV_KHR_16bit_storage</p></td>
<td><p>StorageBuffer16BitAccess</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">supports_float16</span></code></p></td>
<td></td>
<td><p>Float16</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">supports_float64</span></code></p></td>
<td></td>
<td><p>Float64</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">supports_int8</span></code></p></td>
<td></td>
<td><p>Int8</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">supports_int16</span></code></p></td>
<td></td>
<td><p>Int16</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">supports_int64</span></code></p></td>
<td></td>
<td><p>Int64</p></td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="vulkan-specific-environment-variables">
<h2>Vulkan-Specific Environment Variables<a class="headerlink" href="#vulkan-specific-environment-variables" title="永久链接至标题">¶</a></h2>
<p>Both the SPIR-V code generation and the Vulkan runtime have
environment variables that can modify some of the runtime behavior.
These are intended for debugging purposes, both to more easily test
specific code paths, and to output more information as needed.  All
boolean flags are true if the environment variable is set to a
non-zero integer.  An unset variable, the integer zero, or an empty
string are all false boolean flags.</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">TVM_VULKAN_DISABLE_PUSH_DESCRIPTOR</span></code> - A boolean flag.  If true,
TVM will explicitly allocate descriptors, and will not use the
<a class="reference external" href="https://khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_push_descriptor.html">VK_KHR_push_descriptor</a> or <a class="reference external" href="https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_descriptor_update_template.html">VK_KHR_descriptor_update_template</a>
extensions.  If false, TVM will decide whether to use these
extensions based on their availability.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">TVM_VULKAN_DISABLE_DEDICATED_ALLOCATION</span></code> - A boolean flag.  If
true, TVM will not mark memory allocations as being dedicated
allocations, and will not use the <a class="reference external" href="https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_dedicated_allocation.html">VK_KHR_dedicated_allocation</a>
extension.  If false, TVM will decide whether memory allocations
should be marked as dedicated based on the
<a class="reference external" href="https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkMemoryDedicatedRequirements.html">VkMemoryDedicatedRequirements</a> for that buffer.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">TVM_VULKAN_ENABLE_VALIDATION_LAYERS</span></code> - A boolean flag.  If true,
TVM will enable <a class="reference external" href="https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/layers/README.md">Vulkan validation layers</a> that the device
supports.  If false, no validation layers are enabled.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">TVM_VULKAN_DISABLE_SHADER_VALIDATION</span></code> - A boolean flag.  If true,
the SPIR-V shader validation done with <a class="reference external" href="https://github.com/KhronosGroup/SPIRV-Tools#validator">spvValidate</a> is skipped.
If false (default), all SPIR-V shaders generated by TVM are
validated with <a class="reference external" href="https://github.com/KhronosGroup/SPIRV-Tools#validator">spvValidate</a>.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">TVM_VULKAN_DEBUG_SHADER_SAVEPATH</span></code> - A path to a directory.  If
set to a non-empty string, the Vulkan codegen will save tir, binary
SPIR-V, and disassembled SPIR-V shaders to this directory, to be
used for debugging purposes.</p></li>
</ul>
</div>
</div>


           </div>
           
          </div>
          

<footer>

    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="../debugger.html" class="btn btn-neutral float-right" title="Debugger" accesskey="n" rel="next">下一个 <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="../runtime.html" class="btn btn-neutral float-left" title="TVM runtime系统" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> 上一个</a>
      
    </div>

<div id="button" class="backtop"><img src="../../_static//img/right.svg" alt="backtop"/> </div>
<section class="footerSec">
    <div class="footerHeader">
      <ul class="d-flex align-md-items-center justify-content-between flex-column flex-md-row">
        <li class="copywrite d-flex align-items-center">
          <h5 id="copy-right-info">© 2020 Apache Software Foundation | All right reserved</h5>
        </li>
      </ul>

    </div>

    <ul>
      <li class="footernote">Copyright © 2020 The Apache Software Foundation. Apache TVM, Apache, the Apache feather, and the Apache TVM project logo are either trademarks or registered trademarks of the Apache Software Foundation.</li>
    </ul>

</section>
</footer>
        </div>
      </div>

    </section>

  </div>
  

    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>

  </body>
  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
    <!-- Theme Analytics -->
    <script>
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

    ga('create', 'UA-75982049-2', 'auto');
    ga('send', 'pageview');
    </script>

    
   

</body>
</html>